package demo1;

//如果一个类中含有抽象方法，这个类必须是抽象类，
//没有抽象方法，可以是抽像类  抽象类：当一个类不能被描述为一个具体的对象时
//抽象类定义的成员可以是和普通类没有区别  但是不能被实例化对象
//抽象类存在的意义 ：被继承
//当一个普通类继承了 抽象类 后，需要重写方法
//抽象类也可以发生向上转型和动态绑定
//此时抽象方法也需要满足重写的特点。被static fianl private修饰的不能重写
//当一个普通类A继承抽象类 ，不想重写这个抽象类的方法，此时可以将这个普通类A改为抽象类
//但是如果A这个抽象类再次被普通类B继承，此时B这个类需要重写 所有未被重写的抽象方法（包含A和B中的所有抽象方法）（出来混，迟早要还的）
//作用：使用抽象类相当与多了一重编译器的效验

/*abstract class Shape{
    public abstract void draw();//加上abstract,被修饰的这个方法可以不实现（可以不加上{}），被称为抽象方法
}
class Cycle extends Shape{

   public void draw{
        System.out.println("画一个矩形！");
    }
    public static void drawMap(Shape shape){
       shape.draw();
   }
}*/
public class Test1 {
}
